package com.wego.service;

import com.wego.bean.PageBean;
import com.wego.domain.entity.Comment;
import com.wego.domain.query.CommentQuery;
import com.wego.domain.vo.CommentVO;

import java.util.List;

public interface CommentService {

    /**
     * 分页获取评论列表
     * @param commentQuery 查询参数
     * @return 评论分页数据
     */
    PageBean<CommentVO> getPage(CommentQuery commentQuery);

    /**
     * 根据ID获取评论信息
     * @param id 评论ID
     * @return 评论信息
     */
    CommentVO getById(Integer id);

    /**
     * 更新评论信息
     * @param comment 评论信息对象
     * @return 更新成功的记录数
     */
    int insert(Comment comment);
    /**
     * 批量删除评论
     * @param ids 评论ID列表
     * @return 删除成功的记录数
     */
    int deleteByIds(List<Integer> ids);

    /**
     * 批量插入评论
     * @param commentList 评论列表
     * @return 插入成功的记录数
     */
    int batchInsert(List<Comment> commentList);

    List<CommentVO> getCommentWithSub(Integer parentCount, Integer subCount);

    /**
     * 分页获取父子评论
     * @param commentQuery 父评论查询参数
     * @return 分页的父子评论数据
     */
    PageBean<CommentVO> getCommentWithSubPage(CommentQuery commentQuery);

    int update(Comment comment);

}